home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 1 / Macwelt DVD 1.toast / Software für Mac-OS X / Entwickler-Tools / netbeans / modules / ext / djava.jar / koala / dynamicjava / interpreter / modifier / FinalVariableModifier.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-03-14  |  1.6 KB  |  25 lines

  1. package koala.dynamicjava.interpreter.modifier;
  2.  
  3. import koala.dynamicjava.interpreter.UninitializedObject;
  4. import koala.dynamicjava.interpreter.context.Context;
  5. import koala.dynamicjava.interpreter.error.CatchedExceptionError;
  6. import koala.dynamicjava.interpreter.error.ExecutionError;
  7. import koala.dynamicjava.tree.QualifiedName;
  8.  
  9. public class FinalVariableModifier extends VariableModifier {
  10.    public void modify(Context var1, Object var2) {
  11.       if (!this.type.isPrimitive() && var2 != null && !this.type.isAssignableFrom(var2.getClass())) {
  12.          ClassCastException var3 = new ClassCastException(this.name.getRepresentation());
  13.          throw new CatchedExceptionError(var3, this.name);
  14.       } else if (var1.get(this.representation) == UninitializedObject.INSTANCE) {
  15.          var1.setConstant(this.representation, var2);
  16.       } else {
  17.          throw new ExecutionError("cannot.modify", this.name);
  18.       }
  19.    }
  20.  
  21.    public FinalVariableModifier(QualifiedName var1, Class var2) {
  22.       super(var1, var2);
  23.    }
  24. }
  25.